/**
 * Server.java 2020/5/13 4:38 下午 Copyright ©2020 wondersgroup.com All rights reserved.
 * PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package remoting;

import common.model.Callback;
import common.model.Endpoint;
import common.model.IdleSensible;
import config.MagicReferenceConfig;
import config.MagicServiceConfig;
import java.net.InetSocketAddress;
import java.util.Collection;
import remoting.channel.Channel;

/**
 * File：Server.java<br>
 * Title: <br>
 * Description: <br>
 * Company: www.treefinance.com.cn <br>
 * @author heyouchi
 */
public interface Server extends Endpoint, IdleSensible {

  /**
   * is bound.
   *
   * @return bound
   */
  boolean isBound();

  /**
   * get channels.
   *
   * @return channels
   */
  Collection<Channel> getChannels();

  /**
   * get channel.
   *
   * @param remoteAddress
   * @return channel
   */
  Channel getChannel(InetSocketAddress remoteAddress);

}
